package com.qzh.TurnSimulator.entity;

import lombok.Data;
import lombok.experimental.Accessors;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 国家信息
 */
@Data
@Accessors(chain = true)
public class State {
    /**
     * id
     */
    private int id;
    /**
     *名称
     */
    private String name;
    /**
     *描述
     */
    private String description;
    private boolean active;
    ////////////////以下与国体相关///////////////
    /**
     * 政体
     */
    private Polity polity;
    /**
     *首都
     */
    private City capital;
    /**
     * 是否允许第二首都
     */
    private boolean isAllowSecondCapital;
    /**
     * 第二首都
     */
    private City secondCapital;
    /**
     * 除两个首都外的其他城市map
     */
    private Map<String ,City> otherCity;
    private List<City> cityList;
    ///////////////以下为人口相关///////////////
    /**
     *国家总人口
     */
    private Long population;
    /**
     * 总出生率
     * 总出生/总人口
     */
    private BigDecimal birthRate;
    /**
     * 总死亡率
     * 总死亡/总人口
     */
    private BigDecimal deathRate;
    /**
     * 未成年人口
     */
    private Long youngPopulation;
    /**
     * 未成年死亡率
     */
    private BigDecimal youngDeathRate;
    /**
     * 未成年将要成年的比例
     */
    private BigDecimal youngTurnAdultRate;
    /**
     *成年人口
     */
    private Long adultPopulation;
    /**
     成年死亡率
     */
    private BigDecimal adultDeathRate;
    /**
     * 成年将要转为老年的比例
     */
    private BigDecimal adultTurnOldRate;
    /**
     *老年人口
     */
    private Long oldPopulation;
    /**
     老年死亡率
     */
    private BigDecimal oldDeathRate;
    /**
     * 死亡人口
     * 一直累计
     */
    private Long deathPopulation;

    /**
     * 宗教总人口
     */
    private Long ReligionPopulation;

}
